// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "GameFramework/HUD.h"
#include "SlotEquipamento.h"
#include "RPGHUD.generated.h"


/**
 * 
 */
UCLASS()
class RPG_API ARPGHUD : public AHUD
{
	GENERATED_BODY()
	
protected:
	UFUNCTION(BlueprintImplementableEvent, Category = HUD)
	void AlterarVisibilidade(bool NewVisibilidade);

	UFUNCTION(BlueprintImplementableEvent, Category = HUD)
	void CriarHUD();

	virtual void OnConstruction(const FTransform& Transform) override;

public:
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = HUD)
	bool Visibilidade;

	UFUNCTION(BlueprintCallable, Category = HUD)
	void SetVisibilidade(bool NewVisibilidade);

	UFUNCTION(BlueprintImplementableEvent, Category = Inventario)
	void ItemAdicionado(int32 Posicao, int32 ItemID);

	UFUNCTION(BlueprintImplementableEvent, Category = Inventario)
	void ItemRemovido(int32 Posicao, int32 ItemID);

	UFUNCTION(BlueprintImplementableEvent, Category = Inventario)
	void ItemEquipado(FName NomeSlot, int32 ItemID);

	UFUNCTION(BlueprintImplementableEvent, Category = Inventario)
	void ItemDesequipado(FName NomeSlot, int32 ItemID);

	UFUNCTION(BlueprintImplementableEvent, Category = Inventario)
	TArray<FSlotEquipamento> Slots();

};
